package com.lure.base.statemachine;

import java.util.List;

/**
 * <p>定义状态机当中的状态 </p>
 */
public interface State<S,E,C> {

    /**
     * 获取状态
     */
    S getId();

    Transition<S,E,C> addTransition(E event,State<S,E,C> target);

    List<Transition<S,E,C>> getEventTransitions(E event);
}
